Also einen schönen Nachmittag alle zusammen und ich möchte ihm jetzt wirklich ein neues
Thema anfangen, nämlich anzuberweisen Learning, Autoencoder, nicht lineare Koordinatentransformation.
Das ist hier nur teilweise lustig, aber im Sommersemester wird das ein wichtiger
Gesichtspunkt, wenn es darum geht, dynamische Systeme auf Manöqualtigkeit zu untersuchen.
Gucken wir mal, worum es eigentlich geht. Also ein Autoencoder ist etwas, das gehört unter
das Kapitel, gehört unter das Kapitel anzupervised Learning. Warum anzupervised? Na ja, in den
vergangenen Stunden hatten wir immer einen Input und einen Output und dann wurde versucht,
den Output zu lernen. Jetzt haben wir nur einen Input und die Aufgabe wird auf das andere
zurück übersetzt, indem ich sage, mein Output soll dasselbe sein wie der Input. Das heißt,
ich mache also jetzt ein neues Netz. Das hat einen Input, der kann lang sein. Dann schiebe
ich das durch einen Hintenlayer und dann habe ich einen Output und ich möchte gerne haben,
dass hier auf der Outputseite dasselbe steht, wie auf der Inputseite gestanden hat. Also
so gesehen, alles in allem ist das hier eine Identität. Da kann man natürlich sagen, ja
gut, also habe ich hier immer nur einen Vektor, sprich X, der wird hier durchgeschoben und
kommt hier wieder als X raus. Warum brauche ich das? Wenn hier die Hintenschicht genauso
groß wäre wie der Input und der Output dann eben auch, dann ist das natürlich eine sinnlose
Aufgabe. Interessant wird die Aufgabe, wenn die Hintenschicht hier sehr viel niedrig
dimensionaler ist, wie der Output. Solche Treileierstrukturen hier, die heißen Autoencoder.
Auto, weil hinten dasselbe rauskommt, wie vorne reingegangen ist. Und die spannende
Frage ist, auf wie dünne Zwischenwerte, auf wie dünne Zwischenindikatoren kann ich den
originalen Input zusammenpressen, sodass eben nachher immer noch möglich ist, dasselbe
zu rekonstruieren. Also das ist eine Möglichkeit zu dem Thema. Hier ist eben Dimensionalitätsreduktion.
Eine zweite Möglichkeit, das anzugucken, ist eben zu sagen, aha, also muss ich anscheinend
hier in dem Inputvektor hier Resonanz gehabt haben, weil sonst wäre es ja nicht möglich,
die Information hier zu komprimieren, sodass ich dann mit dem Komprimierten wieder die
volle Information rekonstruieren kann. Also wenn ich mir die Frage stelle, was in diesem
Vektor hier ist eigentlich redundant, auf wie viel kann ich das reduzieren, dann kann
ich das so untersuchen. Und dann hätten wir sozusagen eine normale Treileieraufgabe konstruiert,
nämlich Inputvektor, erste Matrix durch den Tangentzah durch, zweite Matrix, Output und
dann versuche ich den gleich dem Inputvektor zu machen. Das geht immer, wenn die Hiddenschicht
hier sehr groß ist, aber interessant wird es eben dadurch, wie weit man das komprimieren
kann, um das eben nur noch, dass das nur noch ein Teil der Aufgabe ausmacht. Und ich werde
Ihnen Beispiele zeigen, wo Sie hundertdimensionale oder 96-dimensionale Inputs hier unten, na,
das ist meine Maus, ja, ich such meine Maus, okay, wo Sie 96-dimensionale Inputs hier zusammenpressen
können auf ungefähr zehn Werte hier und dann wieder rekonstruieren können alle 96
Werte. Das heißt, wir haben hier die Situation statt, wenn wir dann irgendwie eine Aufgabe
zu lösen haben, wir müssen nicht eine 96-dimensionale Aufgabe lösen, sondern wir können einfach
nur eine 10-dimensionale Aufgabe lösen. Und das ist doch ein Fortschritt. So, jetzt gibt's
von dieser Darstellung hier zwei mögliche Varianten, wie das sein kann. Die eine Variante
ist genau das, was ich hier links erzählt habe, nämlich ich habe zwei Matratzen in
den Tangentzahen der Mitte, der muss ja in der Mitte sein, sonst ist die Bestimmung
von A und B völlig nicht eindeutig bestimmt und weil die hintereinander Schaltungen von
zwei Matratzen könnte ich auch ausmultiplizieren. Und deswegen bleibt mir nichts anderes übrig,
als auch einen Tangentzahen dazwischen zu haben. Eine andere Variante zu dem Thema hier
wäre, wenn man sagt, naja, wir nehmen hier unten die Matrix A und nehmen hier oben die
Transponierte von A. Bedenken Sie bitte, wenn die Matrix A etwas ist, was ganz viele
Spalten hat und wenige Zeilen hat, also wenn das hier dünn ist und das hier lang ist,
dann muss ja hier ganz viele Spalten vorkommen, aber wenige Zeilen, dann ist die Transponierte
von der Matrix etwas, was wenige Spalten hat, aber ganz viele Zeilen. Das heißt, von der
Größe der Matratzen, hier könnte ich mir jetzt mal überlegen, dass die Matrix B gar
Presenters
Zugänglich über
Offener Zugang
Dauer
01:10:19 Min
Aufnahmedatum
2020-10-29
Hochgeladen am
2020-10-29 17:16:58
Sprache
de-DE